实验要求
效果图
外设电路
STM32的ADC采样
配置ADC的过程
程序实现
main
tim3配置
实验要求
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/1ad8d54f78dbe8b1a1fee62c9ed2f5ec.png)
效果图
![效果图](https://i-blog.csdnimg.cn/blog_migrate/4357783a7a7feed26cf8fe3c43fee16d.gif)
外设电路
采用热敏电阻,通过分压法测出阻值,然后根据热敏电阻值和温度的曲线逐段线性得到实际温度值.测量电压的时候是用STM32的ADC采样.这里用运放是为了减少漏电流的影响 ![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/681cde07f6163d316f1c1baa73a90ed0.png)
STM32的ADC采样
STM32使用的是一种12位逐次逼近模拟数字转换ADC.可以测量16个外部和2个内部信号源.
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/04f89aed82ea2b3327e8f21ec9a24d31.png)
ADC采样的参考电压由给ADC供电的电压决定,开发板上供电部分的电压为3.3V.因此ADC的精度就是3.3/(2^12)=3.3/4096 V
配置ADC的过程
开启相应的外设时钟(GPIO、ADC、AFIO)
配置ADC采样的IO口为模拟输入模式
配置ADC各项参数(一般用单次采样模式)
配置定时器及响应中断
定时器中断函数中单次采样,以此灵活控制ADC的采样频率
void ADC()
{
ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //设置ADC1和ADC2工作在独立工作模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; // 设置ADC工作在扫描模式(多通道
|